package com.pyue.eam.app.handler;

import com.pyue.eam.app.api.dto.AppUserInfo;
import com.pyue.eam.app.api.entity.AppUser;

/**
 * @author eam
 * @date 2018/11/18
 * <p>
 * 登录处理器
 */
public interface LoginHandler {

	/***
	 * 数据合法性校验
	 * @param loginStr 通过用户传入获取唯一标识
	 * @return
	 */
	Boolean check(String loginStr);

	/**
	 * 通过用户传入获取唯一标识
	 * @param loginStr
	 * @return
	 */
	IdentifyDto identify(String loginStr);

	/**
	 * 通过openId 获取用户信息
	 * @param identify
	 * @return
	 */
	AppUserInfo info(IdentifyDto identify);

	/**
	 * 处理方法
	 * @param loginStr 登录参数
	 * @return
	 */
	AppUserInfo handle(String loginStr);

	/**
	 * 绑定逻辑
	 * @param user 用户实体
	 * @param identify 渠道返回唯一标识
	 * @return
	 */
	default Boolean bind(AppUser user, IdentifyDto identify) {
		return false;
	}

}
